1. Field of the Invention
The present invention relates to a character generator which generates dot images of characters and others.
2. Description of the Prior Art
A character generator of the character map method is used to transmit a dot image of characters and others to various dot-image printers. (The characters and others include, for example, the alphabet, arabic numerals, kanas (the Japanese alphabet), chinese characters and symbols, and hereinafter they are referred to as characters.) When the characters in a text are designated, the character generator gains access to a font memory so that each character is transformed into dot arrays to form a dot image in corresponding thereto and the dot matrix array is transmitted to a dot-image printer.
FIG. 1 is a block diagram of an example of a basic character generator system. A character generator 1 is controlled by a CPU 2. When a text 3 to be printed is transmitted, the CPU 2 sends to the character generator 1 both control data such as carriage return and page end for the control of printing and character data for the access of the font memory 4 in correspondence to the characters in the text 3. The font memory 4 is a memory which stores dot images of fonts of characters. The interface 5 of the character generator 1 reads each of dot images of the characters successively in unit of one byte from the font memory 4, and transmits them to a dot-image printer 6. The interface 5 also transmitts control data. The printer 6 prints the data received from the character generator 1, and reproduces the text 3 as dot image.
A font consists of a dot pattern of for example 32.times.32 dots. FIG. 2 shows character A as dot pattern of 32 rows (4 byte rows).times.32 lines. The horizontal width of a font can be varied within 32 dots in the proportional processing where the width of a font is allowed to vary. One line of a dot pattern in the horizontal direction is divided and stored in unit of one byte (a plurality of bits, for example 8 bits).
In the font memory shown in FIG. 3, the dot pattern of a font is stored into four memories ROM1, ROM2, ROM3 and ROM4 each numbered corresponding to a byte row after the designated address A.sub.n. A dot string of one byte designated at the m-th line and k-th row in the dot pattern of X byte rows x Y lines in FIG. 2 is stored at the address A.sub.n +(m-1) of the k-th ROM.
On printing characters, the addresses in the font memory which correspond to the characters in the text are designated successively, and the data read out from the font memory are transmitted synchronously with the timing of the data transfer to the printer.
Fast processing is required more and more on a character generator.
However, a prior art character generator should act synchronously as a whole with a data request signal from a printer. For example, in case of a dot pattern of 24.times.24 dots, a font memory should be read three times (for three bytes) in correspondence with one data request, as follows: (1) The first access of the font memory (the load of the first byte), (2) the data transfer of the first byte, (3) the second access of the font memory (the load of the second byte), (4) the data transfer of the second byte, (5) the third access of the font memory (the load of the third byte), and (6) the data transfer of the third byte. Those processing steps proceed serially so that the processing takes much time. Therefore, it is difficult to make the processing much faster. The composition of the circuit of a character generator also is complex because the whole processing should be taken into account.
Recently, the resolution of a font becomes higher according to the increase in the resolution of a printer, while the characters becomes diversified. This tendency will continue in the future. Then, the constitution of a character may not necessarily be in unit of one byte. Further, the proportional processing for varying the width of a font in each character will be adopted more and more.
However, the transfer of a data being not divided in unit of byte is difficult in a prior art character generator because the access of a font memory and the transmittance of a 1-byte data to the printer are proceeded almost synchronously with each other. Further, a CPU, a font memory and a RAM are constructed so that data are accessed in unit of one byte ordinarily. Thus, the data transfer to the printer is difficult to make faster in a prior art character generator.
A prior art character generator has a text buffer where a text is stored as character codes. In this method of storing a text, when fonts of small numbers such as the alphabet and the kana characters (for example, of 1-byte code) and those of large numbers such as chinese characters (for example, of 2-byte code) are used together, the structure of a text buffer becomes complex because of the necessity of changing the two different kinds of character codes of 1-byte and 2-byte.
The increase in the dot number of a dot pattern per character in the horizontal direction according to the increase in the resolution of a printer increases the content of a font memory, and this accompanies the increase in ineffective memory area (waste area) which cannot be neglected.